UNIX MAGAZINE 1994年5月号

キーフレーズ

UNIX MAGAZINE 000 ネットワーク ファイル プログラム sendmail 1994 dump システム vulnerability SPARC UUCP コマンド インターネット SunOS クライアント 指定 場合 リソース データ フォント アプリケーション Windows セット プロセス MHz 対応 文字 Sun SPARCstation FAX Subject オプション -3 CPU 利用 機能 可能 HDD -1 サポート Message オプジェクト ワークステーション SCSI プロトコル -2 実行 BSD 情報 電子メール fork シリーズ 登録商標 出力 サーバー 日本 ソフトウェア ウインドウ CD-ROM スレッド whois セキュリティ special メール できる 処理 Ethernet () 使用 接続 Motif for 価格 ファイルシステム 使っ NEWS 表示 最大 TCP/IP ファイル名 開発 def OODB ツール LAN JPNIC awk exit 100 日本語 DEC 容量 管理 bucket アクセス

目次

見出しで直接使えないコマンド \section{... } のなかでいわゆる fragile なコマンド を使うと、エラーになります。これは、処理のタイミング の問題です ( 文献 [ 1 ] 、 20 ~ 21 ページ ) 。そのような場合 は、 \protect コマンドを用いて fragile なコマンドを保 護しなけれはなりません。そのうえで、 \string を使って 未文字をエスケープしたり、空白を \space コマンドな どて指定する必要があります。 章見出しをセンタリングしたい これには、 2 つのガ去があります。 1 つ目は文献 [ 3 ] にあったもので、 latex. tex のなかの 章見出しを定義するマクロ、 \def\@sect#1#2#3#4#5#6 [ # 7 ] # 8 { % \ifnum #2>\c@secnumdepth を変更します。たとえば、表 1 のレベル 1 の見出しをセン タリングしたいときは、次のようにします。 \ifdim \@tempskipa>\z@ \ifnum #2=1\begin{center}\e1se\fi % く一 \begingroup #6\re1ax \@hangfrom{\hskip#3\re1ax\@svsec}% {\interlinepenalty \@M #8\par} \ endgroup \ifnum #2=1\end{center}\e1se\fi % ← \csname #Imark\endcsname{#7}\addcontentsIine center 環境の前後にグルーが入るため、章見出しの上 下のスペースがすこし広くなってしまいます。 もう 1 つは、 art10. sty などにある \section の定義 を次のように変更する方法です (\@startsection コマ ンドについては、次の項で説明します ) 。 \def\section{\@startsection{section}% { 1 } { \ 29 } { ー 3.5ex plus—lex minus .2ex}% { 2.3ex plus. 2ex}% {\reset@font\center\Large\bf}} この例では、 \center コマンドを用いて見出しをセン タリングしています。 \center コマンド ( と center 環 境 ) は、 trivlist 環境を用いて定義されているため、前 UNIX MAGAZINE 1994.5 見出しについて スタイルファイル活用法ー 3 連載 後に余分なスペースが入ります。これを避けたいときは、 \center の代わりに \centering コマンドを使うとよい でしよう。 もう 1 つ簡便なガ去が、 ttn2n1. sty で用いられてい ます ( このスタイルファイルは、 rIbX Users Group の 'TbX and TUG NEWS" 用のものです ) 。このファイ ルでの定義を応用して、次のようなマクロを組みます。 \def\Section{\@ifstar{\@SECA}{\@SECB}} \def\@SECA#1{\section*{\centering#1}} \def\@SECB#1{\refstepcounter{section}% \addcontentsline{toc}{section}% {\protect\numberline{\thesection}#l}% \section*{\centering\thesection#l}} そして、 \section{... } とすると章見出しがセンタリ ングされます。 \section ではなく \section* を使って いる点に注意してください。したがって、 \thesection を出力し、そのうえで \refstepcounter コマンドを使 って節番号を 1 つ増やさなけれはなりません (\refstep- counter は section 番号を増やし、同時にそれ以下のレ ベルの subsection などの番号をリセットします ) 。 上の例では、 \Section と \Section* が \section コ マンドと同様に使えます。前者では、目次ファイルの出力 も可能です。 章見出しの前後のスペースを変更したい 章見出しの前後のスペースが広すぎる場合は、 art12. sty などのファイルで定義されている \section マクロ で各します。たとえば、 art10. sty では、 \def\section{\@startsection{section}% .2ex}% { 1 } { \ z@} { ー 3.5ex plus-lex minus { 2.3ex plus.2ex}{\reset@font\Large\bf}} となっています。 \@startsection は、次の 6 つの引数をとります。 \@startsection{name}{level}{indent}{before}{after} { s tyle} name は chapter や section などの見出しの種類、 level は表 1 に示した見出しレベル、 indent は左マージ ンから見出しの開始位置までのインデント、 be. 和は見出 しの上に挿入されるスペース、 after は見出しの下 ( また は後ろ ) に挿入されるスペースです。最後の style で見出 しの、、スタイル " を指定します ( 図 4 ) 。 95

ージすると同時にページ番号がリセットさアラビア数 字になります。こうすれば、タイトルや目次のページ数が 変わっても、本文のページ番号に景およびません。 もっとも、図版などを大量に含む文書を処理するよう な場合は、相互参照の関係で目次のページ番号カ躾際と異 なってしまうこともあるようです。もとはといえば、コン パイル時にページの変化があっても警告メッセージか表示 されないのか問題なのですが・ これがじ、配なときは、 処理するたびに . toc ファイルを別の名前で保存しておき、 処理後に作成された目次ファイルと上交して石忍してくだ 参考文献のページを目次に入れたい thebibliography 環上竟のなかに、次の 1 行を加えます。 \addcontentsline{toc}{section}{\refname} こて使っている \refname は、 NTT jl 独自のも のです。標準のスタイルファイルやアスキー日本語 では、 \refname の代わりに「参考文献」などと明示しな けれはなりません。目次にどのような形態で出力されるか は、 2 番目の引数に依存します ( この例では、 section と 同しレベルとして出力されます ) 。 目次に「第 1 章」のように出力したい NTT jIbX の j-report. sty では、章見出しは「第 1 章」という形式で出力されます ( アスキー日本語。で このように出力したいときは、あとで説明するガ去でいく つかの定義部分を変更します ) 。しかし、目次では章番号し か得られません。これを章見出しと同し形式にするには、 次の 2 カ所を変更する必要があります。 ます、 j ト ]rep10. sty など、文字サイズごとに異なるス タイルファイルのうち、 \@chapapp の部分を次のように 修正します。 \def\@chapter [ # 1 ] #2{\ifnum\c@secnumdepth>\m@ne \refstepcounter{chapter} \typeout{\@chapapp{\thechapter}.} \addcontentsline{toc}{chapter}{\protect \numberline{\@chapapp{\thechapter}}#l}\else \addcontentsline{toc}{chapter}{#l}\fi そして、 j ト ]report. sty で定義されている \l@chapter のパラメータを次のように変更します。 94 \def\1@chapter#1#2{\pagebreak [ 3 ] \vskip 1 .0em plus lpt \@tempdima 4.5em\begingroup \parindent \z@ \rightskip \@pnumwidth \l@chapter のパラメータは適当な数値を入れただけ なので、出力を見ながら調整したはうがよいと思います。 book. sty で葦ごとに目次を入れたい 複数の著者固別に書いた文章を集めて本を作るような 場合、各章ごとに目次があると便利でしよう。これを補助 してくれるのが minitoc. sty です。このスタイルファ イルを使うときは、オプション・スタイルとして指定しま す。基本的な使い方は以下のとおりです。 \documentstyle [minitoc] {book} \begin{document} \dominitoc \tableofcontents \chapter{ 金太郎と熊 } \minitoc \ chapter { サルカニ合戦における狐の位置 } \minitoc \tableofcontents の則に \dominitoc コマンドを かならす置かなければなりません。それ以外は、章目次を 出力したい位置に \minitoc コマンドを挿入するだけで す。 カウンタとして、 tocdepth に対応する minitoc- depth が用意されています。また、章目次をどのくらい 字下げして出力するかを指定する \mtcindent というパ ラメータ、利用するフォントを指定する \mtcfont コマン ドがあります 1 。それぞれの使い方は、スタイルファイル と一緒に配布されているマニュアルを参照してください。 なお、 minitoc. sty を使用する場合は、正しい出力を得 るためにすくなくとも 3 回は処理しなければなりません。 1 こ刎列は book. sty の場合です。 article. sty て使うときは、 \domini- toc と \minitoc が、それぞれ \dosectoc 、 \secttoc になります。 UNIX MAGAZINE 1994.5

図 3 表 1 スタイルファイル活用法ー 3 連載 タイトル部を変更した例 灰から桜を咲かせるガ去 From The Ashes to The Cherry Blossoms 花咲以①に 満灰大岩東学部園芸物斗 原材料に用意した灰を樹木に吹きつけ、桜として開花させた。 本稿では、その実現に用いた錬金勺手法の実際をする。 . K - e430 ds : ashes, cherry blossoms, alchemy, . ーヨ殳に、灰は一部樹木の生育に有効である が、それを桜に代表される花として開花させ るガ去は存在しないといわれてきた。 1. はじめに tocdepth 直 ・ part を吏わない場合 ・ part をイ吏う場合 0 1 2 3 4 5 chapter sectlon subsect ion subsubsect ion paragraph subparagraph 0 1 2 3 4 5 6 part chapter sect ion StIbSeCt ion subsubsection paragraph subparagraph 目次の出力には 3 回の里が必要 ? 目次を出力するときは、出力したい箇所に \ table 。 f ー contents コマンドを挿入しておきます。しかし、それ だけでは目次は得られません。 (j)latex コマンドで、一可可 か処理する必要があります。たとえは、次のような文書が \ chapter { カチカチ山伝説の誤謬 } \tableofcontents \maketitle \begin{document} \ date { 1994 年 1 月 1 日 } \author{ 狸左衛門 } \ title { 兎の本性について } \documentstyle{report} あったとします。 UNIX MAGAZINE 1994.5 がありませんから、タイトル、 chapter 、 ・・・の順で作成 この文書を最初に処理するときは目次ファイル (. toc) 灰を桜に転化させるためには、すくなくとも 1 匹の豆明晰な雑種大を用意せねばならない。 のローマ数字で出力されます。そして、目次の終りで改ペ この場合、タイトルと目次の部分のページ番号は小文字 \pagenumbering{arabic} \setcounter{page}{l} \vskip lem\hrule\pagebreak \end{quotation} \par} \tableofcontents \begin{quotation} \baselineskip=. 8\norma1base1ineskip {\par \maketitle\hrule \pagenumbering{roman} ます。 ようにしておくとよいでしよう。たとえば、次のようにし ルや目次などの部分と本文のページ番号を別個に処理する 長い文書などで目次か数ベージにおよふ場合は、タイト せん。 は、もう 1 回処理しなけれは正しいページ番号カ碍られま を含むべージが移動することもあります。そのようなとき 本文が目次のスペースぶん後ろべ屓に送ら見出しなど ルか読み込まれます。したがって、 chapter 以降の文書の 2 回目の処理では、 1 回目の処理で作られた目次ファイ 目次ファイルかできることになります。 せん。つまり、目次を言 t 算に入れずにページ番号を振った が、このファイルには目次用のスペースは央されていま されていきます。処理カ鮗ると目次ファイルが作られます 93